package com.wyh.service.groupOne.organization;

import com.github.pagehelper.PageInfo;

import com.wyh.domain.po.groupOne.MasterDataUser;
import com.wyh.domain.po.groupOne.organization.MasterDataOrganization;
import com.wyh.domain.vo.groupOne.utils.MasterDataTreeNode;

import java.util.List;

public interface MasterDataOrganizationService {

    // 根据组织的id查询一个组织信息的业务方法
    public MasterDataOrganization findOrganizationById(Integer id);

    // 添加组织的业务方法
    public boolean addOrganization(MasterDataOrganization masterDataOrganization);

    // 编辑组织的业务方法
    public boolean editOrganization(MasterDataOrganization masterDataOrganization);

    // 删除一个组织的业务方法
    public boolean removeOrganization(Integer id);

    // 根据组织id查询组织下以及下级组织下的所有用户的业务方法
    public PageInfo<MasterDataUser> findUsers(Integer oid, int pageNum, int pageSize);

    // 模糊查询返回给前端树的业务方法
    public List<MasterDataTreeNode> searchOrganizationTree(String keyword);

    // 生成组织菜单树的业务方法
    public List<MasterDataTreeNode> generateOrganizationTree();

}
